home *** CD-ROM | disk | FTP | other *** search
- // •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
- // MsgUtil.c
- //
- // July 31, 1996
- // By Ben Manuto
- //
- // A set of utility routines for making the driver calls for messaging.
- //
- // © 1996 by Apple Computer, Inc., all rights reserved.
- //
- // •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-
-
-
- #include <Types.h>
- #include <LowMem.h>
- #include <Devices.h>
- #include "Messaging.h"
- #include "MsgUtil.h"
-
-
- short gRefNum; // Our refNum for the .Symbiosis driver.
-
- // •••••••••••••••••••••••••
-
- UInt16 InitMessageSupport(void)
- {
- return OpenDriver(kDriverName, &gRefNum);
- }
-
-
- // •••••••••••••••••••••••••
-
- SInt16 RegisterMessage(UInt32 selector, UInt32 count)
- {
- SBParamBlockRec pBlk;
- SInt16 result;
-
- pBlk.ioCRefNum = gRefNum;
- pBlk.ioVRefNum = 0;
- pBlk.ioCompletion = 0;
- pBlk.csCode = eRegisterMessage;
- pBlk.csPtr = (void *) selector;
- pBlk.csData = count;
-
- result = PBControlImmed((ParmBlkPtr) &pBlk);
-
- if (result)
- return (SInt16) result;
-
- return (SInt16) pBlk.csPtr;
- }
-
-
- // •••••••••••••••••••••••••
-
- UInt16 InstallMsgHandler(MsgRecElemPtr msgRecElemPtr)
- {
- SBParamBlockRec pBlk;
-
- pBlk.ioCRefNum = gRefNum;
- pBlk.ioVRefNum = 0;
- pBlk.ioCompletion = 0;
- pBlk.csCode = eInstallMsgHandler;
- pBlk.csPtr = (void *) msgRecElemPtr;
-
- return PBControlImmed((ParmBlkPtr) &pBlk );
-
- }
-
-
- // •••••••••••••••••••••••••
-
- UInt16 RemoveMsgHandler(MsgRecElemPtr msgRecElemPtr)
- {
- SBParamBlockRec pBlk;
-
- pBlk.ioCRefNum = gRefNum;
- pBlk.ioVRefNum = 0;
- pBlk.ioCompletion = 0;
- pBlk.csCode = eRemoveMsgHandler;
- pBlk.csPtr = (void *) msgRecElemPtr;
-
- return PBControlImmed((ParmBlkPtr) &pBlk );
- }
-
-
- // •••••••••••••••••••••••••
-
- UInt16 SendMessage( MsgPBlkPtr msgPBlkPtr )
- {
- SBParamBlockRec pBlk;
-
- pBlk.ioCRefNum = gRefNum;
- pBlk.ioVRefNum = 0;
- pBlk.ioCompletion = 0;
- pBlk.csCode = eSendMessage;
- pBlk.csPtr = (void *) msgPBlkPtr;
-
- return PBControlImmed((ParmBlkPtr) &pBlk );
-
- }
-
-